/*
 *      Created on: Feb 24, 2011
 *      Author: topcoder
 */

#ifndef LENGTHUNIT_H_
#define LENGTHUNIT_H_

#include <Unit.h>
#include <string>
using namespace std;

class LengthUnit : public Unit
{
    public:
        static LengthUnit& getMile();
        static LengthUnit& getYard();
        static LengthUnit& getFeet();
        static LengthUnit& getInch();
        
        static string print(unsigned long quantity, const LengthUnit& LengthUnit);
    private:
        LengthUnit(unsigned int ratio, string name);
        LengthUnit();
        LengthUnit& operator = (const LengthUnit&);                
};

#define MILE  (LengthUnit::getMile())
#define YARD  (LengthUnit::getYard())
#define FEET  (LengthUnit::getFeet())
#define INCH  (LengthUnit::getInch())

#endif
